package com.tmt.im.wallet.controler.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;

import java.io.Serial;
import java.io.Serializable;

import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;

/**
 * @Description TODO
 * @Author wuyi
 * @Date 2024/10/20 14:20
 * @Version 1.0
 **/
@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@Tag(name = "ConfirmWithdrawRequest", description = "确认提现请求对象")
public class ConfirmWithdrawRequest implements Serializable {

    @Serial
    private static final long serialVersionUID = 1784117904615188044L;
 
    /**
     * 商户号
     */
    @Schema(description = "商户号", requiredMode = REQUIRED)
    private String merchantNum;

    @Schema(description = "商户订单号", requiredMode = REQUIRED)
    private String orderNo;

    @Schema(description = "支付金额", requiredMode = REQUIRED)
    private String amount;

    @Schema(description = "附加信息", requiredMode = REQUIRED)
    private String note;

    @Schema(description = "订单状态, 1代表支付成功", requiredMode = REQUIRED)
    private String state;

    @Schema(description = "签名【md5(订单状态+商户号+商户订单号+支付金额+商户秘钥)】", requiredMode = REQUIRED)
    private String sign;

}
